Schryption method and device

ABSTRACT

A schryption of a text message is based on a schryption key for defining one or more aspects of an encryption and/or a decryption of the text message. For an encryption of the text message, the schryption key is derived from a user key in the form of an encryption key (e.g., a secret key or a public key), and the text message in the form of plaintext is encrypted as defined, at least partially, by the schryption key to thereby yield a ciphertext. For a decryption of the text message, the schryption key is derived from user key in the form of a decryption key (e.g., a secret key or a private key), and the text message in the form of a ciphertext is decrypted as defined, at least partially, by the schryption key to thereby yield a plaintext.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/794,149 filed Mar. 5, 2005, now U.S. Pat. No. 7,______, and claimspriority to, and the benefit of, that application. The entirety of thatapplication is hereby incorporated by reference.

FIELD OF INVENTION

The present invention generally relates to cryptography andcryptanalysis. The present invention specifically relates to dynamickey-based cipher methods for minimizing, if not eliminating, successfulretrieval by cryptanalysts of plaintext from ciphertext.

BACKGROUND OF THE INVENTION

Cryptography involves an encryption process for encoding the contents ofa plaintext on a stream, block or unit basis to yield a ciphertext thatconceals the contents of the plaintext, and a decryption process fordecoding the ciphertext on a stream, block or unit basis to retrieve thecontents of the plaintext. The method of encryption and decryption iscalled a cipher, which typically use one or more keys to control theencryption of the plaintext and the decryption of the ciphertext. Thereare threes (3) classes of key-based cipher methods.

The first class is symmetric key-based cipher methods that are based onusing a secret key or a key randomly derived from the secret key forboth encryption and decryption, or using the secret key or the keyrandomly derived from the secret key for both encryption only whilederiving the decryption key from the encryption key. Some well knownsymmetric key-based cipher methods are Data Encryption Standard (“DES”),Advanced Encryption Standard (“AES”), the One-Time Pad (“OTP”),Blowfish, IDEA and RC4.

The second class is asymmetric key-based cipher methods that are basedon using a different key for encryption and decryption where thedecryption key (a.k.a. the “private key”) cannot be derived from theencryption key (a.k.a. the “public key)”. Some well known asymmetrickey-based cipher methods are Rivest-Shamir-Adleman (“RSA”) and Rabin.

The third class is hybrid key-based cipher methods that are based onusing an asymmetric public-key to derive a symmetric key for bothencryption and decryption, or a symmetric key for encryption whilederiving the decryption key from the symmetric key.

Cryptanalysis involves a decoding, without any knowledge of theappropriate key(s), of a ciphertext on a stream basis or a block basisto retrieve the contents of a corresponding plaintext. Some well knowncryptanalysis techniques are brute force attacks, ciphertext-onlyattacks, known-plaintext attacks, chosen-plaintext attacks,man-in-the-middle attacks, key-output correlation attacks, attacksagainst the underlying hardware, and attacks using faults in theunderlying software and/or hardware.

Cryptography deals with all aspects of secure messaging, authentication,digital signatures, electronic money, and other well-known applications.Furthermore, most cryptographic algorithms are designed to be executedby computers and by specialized hardware devices. Thus, the computerindustry is continually striving to design computer software andspecialized hardware devices that minimize, if not eliminate, anycryptanalysis attack on the computer software and/or its underlyingcomputer hardware, and on specialized hardware devices.

SUMMARY OF THE INVENTION

The present invention provides a new and unique key-based cipher methodknown herein as “schryption” that minimizes, if not eliminates, anycryptanalysis attack on computer software and/or its underlying computerhardware for implementing the key-based cipher method, and specializedhardware devices for implementing the key-based cipher method.

One form of the present invention is a schryption method for ciphering atext message that involves (1) a reception of the text message and auser key, (2) a derivation of a schryption key from the user key wherethe schryption key defines one or more aspects of a ciphering of thetext message, and (3) a ciphering of the text message as defined, atleast partially, by the schryption key to thereby yield a ciphered textmessage.

A second form of the present invention is a signal bearing mediumtangibly embodying a program of machine-readable instructions executableby a processor to perform operations to cipher a text message, theoperations involving (1) a reception of the text message and a user key,(2) a derivation of a schryption key from the user key where theschryption key defines one or more aspects of a ciphering of the textmessage, and (3) a ciphering of the text message as defined, at leastpartially, by the schryption key to thereby yield a ciphered textmessage.

A third form of the present invention is device employing a processor,and a memory storing instructions operable with the processor forciphering a text message, the instructions being executed for (1)receiving the text message and a user key, (2) deriving a schryption keyfrom the user key where the schryption key defines one or more aspectsof a ciphering of the text message, and (3) ciphering the text messageas defined, at least partially, by the schryption key to thereby yield aciphered text message.

The terms “text message”, “plaintext” and “ciphertext” shall encompassany and every type of data, including, but not limited to, plain datastrings, emails, files and otherwise other communications involving wellknown applications, such as, for example, secure messaging,authentication, digital signatures and electronic money.

The forgoing forms and other forms, objects, and aspects as well asfeatures and advantages of the present invention will become furtherapparent from the following detailed description of the presentlypreferred embodiments, read in conjunction with the accompanyingdrawings. The detailed description and drawings are merely illustrativeof the present invention rather than limiting the scope of the presentinvention being defined by the appended claims and equivalents thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a flowchart representative of schryption method inaccordance with an encryption embodiment of the present invention;

FIG. 2 illustrates an exemplary generation of various keys during anexecution of the flowchart illustrated in FIG. 1;

FIG. 3 illustrates a flowchart representative of schryption method inaccordance with a decryption embodiment of the present invention;

FIG. 4 illustrates an exemplary generation of various keys during anexecution of the flowchart illustrated in FIG. 3;

FIG. 5 illustrates a flowchart representative of schryption method inaccordance with a total schryption embodiment of the present invention;

FIGS. 6 and 7 illustrate an exemplary generation of various keys duringan execution of the flowchart illustrated in FIG. 5;

FIG. 8 illustrates a schryption device in accordance with a firstembodiment of the present invention;

FIG. 9 illustrates a schryption device in accordance with a secondembodiment of the present invention; and

FIG. 10 illustrates an exemplary network incorporating the schryptiondevice illustrated in FIG. 8.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Schryption encompasses a key-based cipher method involving a dynamicgeneration of schryption keys, on a stream, block or unit basis, from acipher key in the form of either an encryption key or a decryption key,where the cipher key is associated with a symmetric implementation ofthe cipher method (e.g., a secret key) or an asymmetric implementationof the cipher method (e.g., a public key or a private key). Eachgenerated schryption key defines one or more aspects of an encryption ofa plaintext, and/or a decryption of a ciphertext. To facilitate anunderstanding of the present invention, FIG. 1 illustrates a flowchart20 representative of a baseline schryption method for encrypting aplaintext, FIG. 3 illustrates a flowchart 30 representative of abaseline schryption method for decrypting a ciphertext, and FIG. 5illustrates a flowchart 50 representative of a total schryption methodfor encrypting and decrypting a text message in the form of a plaintextor a ciphertext.

Referring to FIG. 1, during a stage S22 of flowchart 20 and as exemplaryillustrated in FIG. 2, a text message in the form of a plaintext PT of Mbits to be encrypted, where M≧1, and a user key in the form of anencryption key ENK of P bits, where P≧1, are received. In practice,plaintext PT can be a confidential text message or be a confidentialportion of an otherwise non-confidential text message. Also in practice,the actual form of encryption key ENK is without limit, and is thereforenot a limitation as to the scope of stage S22.

In one exemplary embodiment of stage S22, encryption key ENK is in theconventional form of a secret key.

In a second exemplary embodiment of stage S22, encryption key ENK is inthe conventional form of a public key.

During a stage S24 of flowchart 20, a schryption key SHK1 of X1 bits asexemplary illustrated in FIG. 2, where X1≧1, is derived from encryptionkey ENK. The bit(s) in schryption key SHK1 will define one or moreaspects of the encryption of plaintext PT, such as, for example, (1) howto encrypt plaintext PT, (2) operations to perform in order tofacilitate an encryption of plaintext PT, (3) which encryption functions(e.g., Boolean functions, DES, AES, RSA, etc.) to perform in order toencrypt plaintext PT, (4) how many times to perform each encryptionfunction, and (5) how to derive additional schryption keys forencrypting any remaining portion of plaintext PT. Aspects of theencryption of plaintext PT that are not defined by schryption key SHK1can be predetermined or dynamically generated by other techniques asknown in the art, such as, for example, a software routine embodyingflowchart 20 can have computer readable code for calling one or moreBoolean functions of a processor (e.g., AND, OR, XOR, NAND, etc.) orcalling an external encryption function (e.g., DES, AES, RSA, anduser-defined function) that serve as the encryption function.

In one exemplary embodiment, schryption key SHK1 will include one ormore control segments, each having one or more bits, for defining one ormore aspects of an encryption of plaintext PT. The following TABLE 1lists exemplary control segments CSA-CSC as exemplary illustrated inFIG. 2:

TABLE 1 CON- TROL SEG- MENT PURPOSE CSA SPECIFIES AN ENCRYPTION FUNCTIONTO BE EXECUTED CSB SPECIFIES THE NUMBER OF TIMES THE ENCRYPTION FUNCTIONIS TO BE EXECUTED CSC SPECIFIES THE NUMBER OF BITS OF PLAINTEXT (PT) TOBE PROCESSED BY THE ENCRYPTION FUNCTION

In practice, the types of techniques in which schryption key SHK1 can bederived from encryption key ENK are without limit, and is therefore nota limitation as to the scope of stage S24.

In one exemplary embodiment of stage S24, encryption key ENK andschryption key SHK1 have a pre-defined correlation whereby, conventionalor otherwise, based on the pre-defined correlation between encryptionkey ENK and schryption key SHK1, a technique can be implemented toderive schryption key SHK1 from encryption key ENK. For example, aparticular bit or bits within encryption key ENK can be pre-defined toindicate a selection of schryption SHK1 from a plurality ofpre-determined schryption keys.

In a second exemplary embodiment of stage S24, encryption key ENK canserve as a parameter within an execution of a technique, conventional orotherwise, for deriving schryption key SHK1 as a function of encryptionkey ENK. For example, encryption key ENK can serve as a parameter withinan execution of a mathematical and/or logical algorithm whereby theresult is schryption key SHK1.

In a third exemplary embodiment of stage S24, encryption key ENK canserve as a parameter within an execution of a technique, conventional orotherwise, for deriving a master key as a function of encryption keyENK. For example, encryption key ENK can serve as a parameter within anexecution of a mathematical algorithm and/or logical algorithm wherebythe result is the master key, and schryption key SHK1 is extracted,conventionally or otherwise, from the master key.

During an optional stage S26 of flowchart 20, a parameter key PMK1 of Y1bits as exemplary illustrated in FIG. 2, where Y1≧1, and/or a dummy keyDMK1 of Z1 bits as exemplary illustrated in FIG. 2, where Z1≧1, arederived from encryption key ENK. As with schryption key SHK1, inpractice, the types of techniques in which parameter key PMK1 and dummykey DMK1 can be derived from encryption key ENK are without limit, andis therefore not a limitation as to the scope of stage S26. In oneexemplary embodiment, schryption key SHK1 specifies an extraction ofparameter key PMK1 and dummy key DMK1 from a master key generated fromencryption key ENK.

During a stage S28 of flowchart 20, plaintext PT is encrypted asdefined, at least partially, by schryption key SHK1 to yield aciphertext CT of N bits as exemplary illustrated in FIG. 2, where N≧1.If stage S26 was executed prior to stage S28, then parameter key PMK1serves as an encryption parameter during the encryption of plaintext PTduring stage S28, and/or dummy key DMK1 is inserted within the resultingciphertext CT, which can serve as a confidential text message orincorporated as a confidential portion of an otherwise non-confidentialtext message.

An encryption of the bits of plaintext PT during stage S28 can beaccomplished either (1) on a stream basis involving an encryption ofeach bit of plaintext PT individually, (2) on a block basis involvingindividual encryption of bit blocks of plaintext PT of the same orvariable lengths, or (3) on a unit basis involving a collectiveencryption of all of the bits of plaintext PT. When encryption of thebits of plaintext PT during stage S28 is accomplished on a unit basis,which may or may not be specified by schryption key SHK1, then flowchart20 can be terminated upon completion of stage S28. When encryption ofthe bits of plaintext PT during stage S28 is accomplished on a stream orblock basis, which may or may not be specified by schryption key SHK1,then flowchart 20 can be either (1) terminated upon completion of stageS28, in which each bit or bit block of plaintext PT may or may not havebeen encrypted in accordance with schryption key SHK1, or (2) returnedto stage S24 for one or more rounds to thereby derive one or moreadditional schryption keys for encrypting some or all of the remainingbits or bit blocks of plaintext PT.

Irrespective of how flowchart 20 is terminated, those having ordinaryskill in the art will appreciate the new and unique encryption securityobtained in the concealment of the contents of plaintext PT withinciphertext CT.

Referring to FIG. 3, during a stage S32 of flowchart 30 and as exemplaryillustrated in FIG. 4, a text message in the form of a ciphertext CT ofN bits to be decrypted, where N≧1, and a user key in the form of adecryption key DEK of Q bits, where Q≧1, are received. In practice,ciphertext CT can be a confidential text message or be a confidentialportion of an otherwise non-confidential text message. Also in practice,the actual form of decryption key DEK is without limit, and is thereforenot a limitation as to the scope of stage S32.

In one exemplary embodiment of stage S32, decryption key DEK is in theconventional form of a secret key.

In a second exemplary embodiment of stage S32, decryption key DEK is inthe conventional form of a private key.

During a stage S34 of flowchart 30, a schryption key SHK2 of X2 bits asexemplary illustrated in FIG. 4, where X2≧1, is derived from decryptionkey DEK. The bit(s) in schryption key SHK2 will define one or moreaspects of the decryption of ciphertext CT, such as, for example, (1)how to decrypt ciphertext CT, (2) operations to perform in order tofacilitate a decryption of ciphertext CT, (3) which decryption functions(e.g., Boolean functions, DES, AES, RSA, etc.) to perform in order todecrypt the ciphertext CT, (4) how many times to perform each decryptionfunction, and (5) how to derive additional schryption keys fordecrypting any remaining portion of ciphertext CT. Aspects of thedecryption of the ciphertext CT that are not defined by schryption keySHK2 can be predetermined or dynamically generated by other techniquesas known in the art, such as, for example, a software routine embodyingflowchart 30 can have computer readable code for calling one or moreBoolean functions of a processor (e.g., AND, OR, XOR, NAND, etc.) orcalling an external decryption function (e.g., DES, AES, RSA, anduser-defined function) that serve as the decryption function.

In one exemplary embodiment, schryption key SHK2 will include one ormore control segments, each having one or more bits, for defining, atleast partially, a decryption of ciphertext CT. The following TABLE 2lists exemplary control segments CSD-CSF as exemplary illustrated inFIG. 4:

TABLE 2 CON- TROL SEG- MENT PURPOSE CSD SPECIFIES A DECRYPTION FUNCTIONTO BE EXECUTED CSE SPECIFIES THE NUMBER OF TIMES THE DECRYPTION FUNCTIONIS TO BE EXECUTED CSF SPECIFIES THE NUMBER OF BITS OF CIPHERTEXT (CT) TOBE PROCESSED BY THE DECRYPTION FUNCTION

In practice, the types of techniques in which schryption key SHK2 can bederived from decryption key DEK are without limit, and is therefore nota limitation as to the scope of stage S34.

In one exemplary embodiment of stage S34, decryption key DEK andschryption key SHK2 have a pre-defined correlation whereby, conventionalor otherwise, based on the pre-defined correlation between decryptionkey DEK and schryption key SHK2, a technique can be implemented toderive schryption key SHK2 from decryption key DEK. For example, aparticular bit or bits within decryption key DEK can be pre-defined toindicate a selection of schryption SHK from a plurality ofpre-determined schryption keys.

In a second exemplary embodiment of stage S34, decryption key DEK canserve as a parameter within an execution of a technique, conventional orotherwise, for deriving schryption key SHK2 as a function of decryptionkey DEK. For example, decryption key DEK can serve as a parameter withinan execution of a mathematical and/or logical algorithm whereby theresult is schryption key SHK2.

In a third exemplary embodiment of stage S34, decryption key DEK canserve as a parameter within an execution of a technique, conventional orotherwise, for deriving a master key as a function of decryption keyDEK. For example, decryption key DEK can serve as a parameter within anexecution of a mathematical algorithm and/or logical algorithm wherebythe result is the master key, and schryption key SHK2 is extracted,conventionally or otherwise, from the master key.

During an optional stage S36 of flowchart 30, a parameter key PMK2 of Y2bits as exemplary illustrated in FIG. 4, where Y2≧1, and/or a dummy keyDMK2 of Z2 bits as exemplary illustrated in FIG. 4, where Z2≧1, arederived from decryption key DEK. As with schryption key SHK2, inpractice, the types of techniques in which parameter key PMK2 and dummykey DMK2 can be derived from decryption key DEK are without limit, andis therefore not a limitation as to the scope of stage S36. In oneexemplary embodiment, schryption key SHK2 specifies an extraction ofparameter key PMK2 and dummy key DMK2 from a master key generated fromdecryption key DEK.

During a stage S38 of flowchart 30, ciphertext CT is decrypted asdefined, at least partially, by schryption key SHK2 to yield a plaintextPT of N bits as exemplary illustrated in FIG. 4, where N≧1. If stage S36was executed prior to stage S38, then parameter key PMK2 serves as adecryption parameter during the decryption of ciphertext CT during stageS38, and/or dummy key DMK2 is inserted within the resulting plaintextPT, which serves as a confidential text message or incorporated as aconfidential portion of an otherwise non-confidential text message.

A decryption of the bits of ciphertext CT during stage S38 can beaccomplished (1) on a stream basis involving a decryption of each bit ofciphertext CT individually, (2) on a block basis involving individualdecryption of bit blocks of ciphertext CT of the same or variablelengths, or (3) one a unit basis involving a collective decryption ofall of the bits of ciphertext CT. When decryption of the bits ofciphertext CT during stage S38 is accomplished on a unit basis, whichmay or may not be specified by schryption key SHK2, then flowchart 30can be terminated upon completion of stage S38. When decryption of thebits of ciphertext CT during stage S38 is accomplished on a stream orblock basis, which may or may not be specified by schryption key SHK2,then flowchart 30 can be either (1) terminated upon completion of stageS38, in which each bit or bit block of ciphertext CT may or may not havebeen decrypted in accordance with schryption key SHK2, or (2) returnedto stage S34 for one or more rounds to thereby derive one or moreadditional schryption keys for decrypting some or all of the remainingbits or bit blocks of ciphertext CT.

Irrespective of how flowchart 30 is terminated, those having ordinaryskill in the art will appreciate the new and unique decryption securityobtained in the retrieval of the contents of plaintext PT fromciphertext CT.

Referring to FIG. 5, during a stage S42 of flowchart 40 a text messagein the form of a plaintext or a ciphertext, and a user key in the formof a secret key SEK are received. While the text message and the userkey in practice can contain any number of bits, for purposes offacilitating an understanding of flowchart 40, text message containstwenty (20) bytes corresponding to “PASSWORD: SCHRYPTION” and secret keySEK is exemplary illustrated in FIG. 6 as containing nine (9) bytescorresponding to “SECRET KEY”.

During a stage S44 of flowchart 40, an original master key MSK1 isgenerated as a function of secret key SEK and a base key BSK. While basekey BSK in practice can contain any number of bits, base key BSK isexemplary illustrated in FIG. 6 as containing seven (7) bytescorresponding to “BASE KEY” for purposes of facilitating anunderstanding of flowchart 40.

In practice, the algorithm for generating master key MSK1 as a functionof secret key SEK and base key BSK is without limit, and is thereforenot a limitation as to the scope of stage S44. In one exemplaryembodiment of stage S44, a matrix of sixteen (16) columns C1-C16, andeight rows R1-R8 is established for master key MSK1 as exemplaryillustrated in FIG. 6. To fill out the matrix, the first nine (9) bytesof (C1, R1) to (C9, R1) sequentially contain the nine (9) bytes ofsecret key SEK. Second, the next nine (9) bytes of (C10, R1) to (C2, R2)sequentially contain a result S¹-Y¹, respectively, of an XORing of thenine (9) bytes of (C1, R1) to (C9, R1) as a function of base key BSK.Third, the next nine (9) bytes (C3, R2) to (C11, R2) sequentiallycontain a result S²-Y², respectively, of an XORing of the nine (9) bytesof (C10, R1) to (C2, R2) as a function of base key BSK. This XORingschemes continues until each byte of the matrix is occupied.

During a stage S46 of flowchart 40, a schryption key SHK3 and aparameter key PMK3 are extracted from master key MSK1 in any manner,including but not limited, a sequential extraction of bytes from masterkey MSK1 or a non-sequential extraction of bytes from master key MSK1.In practice, the number of bytes of schryption key SHK3 and parameterkey PMK3 are without limit, and are therefore not a limitation as to thescope of stage S46. Also, the manner by which schryption key SHK3 andparameter key PMK3 are extracted from master key MSK1 is without limit,and is therefore not a limitation as to the scope of stage S46.

In one exemplary embodiment, a row counter (not shown) and a columncounter (not shown) are used to indicate the starting position withinmaster key MSK1 for the sequential extraction of schryption key SHK3 andparameter key PMK3. As illustrated in FIG. 6, an exemplary extractioninvolves a starting position of (C5, R4) whereby the first three (3)bytes of (C5, R4) to (C7, R4) serve as control segments CSG-CSI forschryption key SHK3, and the next five (5) bytes (C18, R4) to (C12, R4)serve as parameter bytes PM1-PM5 for parameter key PMK3.

For flowchart 40, the cryption function is a XOR function wherebycontrol segment CSG specifies the number of bytes of the text message tobe ciphered, and control segment CSH specifies the number of times theXOR function is to be executed. For purposes of facilitating anunderstanding of flowchart 40, control segment CSG exemplary specifiesten (10) byes of the text message to be ciphered, which results in textmessage block TMB1 of “PASSWORD: _” as exemplary illustrated in FIG. 6.Furthermore, parameter bytes PM1-PM5 are processed through amathematical algorithm to yield a single parameter byte PM6 as exemplaryillustrated in FIG. 6.

During a stage S48 of flowchart 40, text message block TMB1 of“PASSWORD: _” is ciphered as defined, in part, by schryption key SHK3 toyield a cipher message CMI. In one exemplary embodiment, parameter bytePM6 is XORed with each byte of text message block TMB1 for a specificnumber of times as specified by control segment CSH of schryption keySHK3 (e.g., three (3) times) to thereby yield cipher message CM1 of“$@%̂!HGQ76” as exemplary illustrated in FIG. 6.

During a stage S50 of flowchart 40, it will be determined thatadditional bytes “SCHRYPTION” of text message have not been ciphered.Flowchart 40 therefore proceeds to a stage S52 of flowchart 40 togenerate a new master key MSK2 as a function of master key MSK1, basekey BSK and schryption key SHK3. In practice, the algorithm forgenerating master key MSK2 as a function of master key MSK1, base keyBSK and schryption key SHK3 is without limit, and is therefore not alimitation as to the scope of stage S52. In one exemplary embodiment ofstage S52, each byte of master key MSK1 is XORed with base key BSK for aspecific number of times as specified by control segment CSI ofschryption key SHK3 to thereby yield master key MSK2 as exemplaryillustrated in FIG. 7.

Upon returning to stage S46, a schryption key SHK4 and a parameter keyPMK4 are extracted from master key MSK2 in any manner, including but notlimited, a sequential extraction of bytes from master key MSK1 or anon-sequential extraction of bytes from master key MSK1. In practice,the number of bytes of schryption key SHK4 and parameter key PMK4 arewithout limit, and are therefore not a limitation as to the scope ofstage S46. Also, the manner by which schryption key SHK4 and parameterkey PMK4 are extracted from master key MSK2 is without limit, and istherefore not a limitation as to the scope of stage S46.

In one exemplary embodiment, the row counter (not shown) and the columncounter (not shown) are incremented to indicate the starting positionwithin master key MSK2 for the sequential extraction of schryption keySHK4 and parameter key PMK4. As illustrated in FIG. 6, an exemplaryextraction involves a starting position of (C5, R7) whereby the firstthree (3) bytes of (C5, R7) to (C7, R7) serves as control segmentsCSJ-CSL for schryption key SHK4 and the next five (5) bytes of (C8, R7)to (C12, R7) serve as parameter bytes PM7-PM11 for parameter key PMK4.

For flowchart 40, the crypt ion function is a XOR function wherebycontrol segment CSJ specifies the number of bytes of the text message tobe ciphered, and control segment CSK specifies the number of times theXOR function is to be executed. For purposes of facilitating anunderstanding of flowchart 40, control segment CSJ exemplary specifiesten (10) byes of the text message to be ciphered, which results in textmessage block TMB2 of “SCHRYPTION” as exemplary illustrated in FIG. 7.Furthermore, parameter bytes PM7-PM11 are processed through amathematical algorithm to yield a single parameter byte PM12 asexemplary illustrated in FIG. 7.

During stage S48, text message block TMB2 of “SCHRYPTION” is ciphered asdefined, in part, by schryption key SHK4 to yield a cipher message blockCMB2. In one exemplary embodiment, parameter byte PM12 is XORed witheach byte of text message block TMB2 for a specific number of times asspecified by control segment CSK of schryption key SHK4 (e.g., three (3)times) to thereby yield cipher message block CMB2 of “4f*9S!B%+=” asexemplary illustrated in FIG. 7.

During a stage S50 of flowchart 40, it will be determined that there areno additional bytes of the text message to cipher, and flowchart 40 istherefore terminated whereby cipher message blocks CMB1 and CMB2 arecombined to yield a cipher message “$@%̂HGQ764f*9S!B%+=”. Those havingordinary skill in the art will appreciate that a sequent and identicalexecution of flowchart 40 on cipher message “$@%̂!HGQ764f*9S!B%+=” willyield text message “PASSWORD: SCHRYPTION”. Those having ordinary skillin the art will therefore further appreciate, from an execution offlowchart 40, the new and unique encryption security obtained in theconcealment of text message “PASSWORD: SCHRYPTION” within cipher message“$@%̂!HGQ764f*9S!B%+=”, and new and unique description security obtainedin the retrieval of text message “PASSWORD: SCHRYPTION” from ciphermessage “$@%̂!HGQ764f*9S!B%+=”.

The description of flowchart 40 herein in the context of ciphering“PASSWORD: SCHRYPTION” was given to facilitate an understanding of atotal schryption method of the present invention. In practice, thesequence of stages S44-S52 of flowchart 40 can be implemented underdifferent schemes for ciphering “PASSWORD: SCHRYPTION”.

Furthermore, those of ordinary skill in the art will appreciate that, inpractice, a structural implementation of flowcharts 20, 30 and 40 willvary depending on the specific implementation of a device or systemembodying the present invention. Thus, the variety of hardware platformsand software environments for structurally implementing flowcharts 20,30 and 40 is without limit.

In one exemplary embodiment, a schryption device 60 as illustrated inFIG. 8 employs a conventional processor 70 having cryptography functions71 (e.g., Boolean functions) and a cryptograph interface 72 forcontrolling a retrieval of cryptography functions from an externalsource. Schryption device 60 further employs a conventional computerreadable medium 80 (e.g., a ROM, hard drive, etc.) for storing computerinstructions in an encryption routine 81 programmed, conventional orotherwise, in accordance with flowchart 20 (FIG. 1), and for storingcomputer instructions in an encryption routine 82 programmed,conventional or otherwise, in accordance with flowchart 30 (FIG. 3). Assuch, processor 70 can be operated to execute a conventional operatingsystem to control program execution of the computer instructions ofroutines 81 and 82 as needed.

In a second exemplary embodiment, a schryption device 160 as illustratedin FIG. 9 employs a conventional processor 170 having an XOR function171. Schryption device 160 further employs a conventional computerreadable medium 180 (e.g., a ROM, hard drive, etc.) for storing computerinstructions in an encryption routine 181 programmed, conventional orotherwise, in accordance with flowchart 40 (FIG. 5), for storingcomputer instructions in a decryption routine 182 programmed,conventional or otherwise, in accordance with flowchart 40 (FIG. 5), andfor storing base key BSK. As such, processor 170 can be operated toexecute a conventional operating system to control program execution ofthe computer instructions of routines 181 and 182 as needed.

Those having ordinary skill in the art will appreciate the various nodalincorporations of a schryption device (e.g., device 60 illustrated inFIG. 8 and device 160 illustrated in FIG. 9) within a networkenvironment. For example, as illustrated in FIG. 10, device 60 can beincorporated within various networks and devices connected to aninternet 100 where the processor of the schryption device can serves aprimary or an auxiliary processor.

For a network 90, device 60 can either be incorporated within a firewallof network 90, a gateway server of network 90, and/or individualworkstations of network 90. For a printer 91 and a fax 92, device 60 caneither be incorporated in printer 91 and fax 92, and/or serve to connectprinter 91 and fax 92 to internet 100.

For a network 93, device 60 can either be incorporated within a routerconnecting network 93 to internet 100, a repeater of network 93, and/orindividual workstations of network 93. For a network 94, device 60 caneither be incorporated within a PSTN of network 94, a mobile phone ofnetwork 94, and/or a telephone of network 94. For a network 95, device60 can either be incorporated within the router connecting network 95 tointernet 100, a gateway server of network 95, and/or individualworkstations of network 95.

From the FIG. 10, those having ordinary skill in the art will appreciatethe varied manner by which a schryption device of the present inventionmay be utilized to provide encryption and decryption security to devicesand networks.

While the embodiments of the present invention disclosed herein arepresently considered to be preferred embodiments, various changes andmodifications can be made without departing from the spirit and scope ofthe present invention. The scope of the invention is indicated in theappended claims, and all changes that come within the meaning and rangeof equivalents are intended to be embraced therein.

1. A method of ciphering a text message, the method comprising:receiving the text message and a user key; deriving a schryption keyfrom the user key, wherein at least a portion of the schryption keydefines at least one aspect of a ciphering of the text message; andciphering the text message as defined, at least partially, by theschryption key to thereby yield a ciphered text message.
 2. The methodof claim 1, wherein the text message is a plaintext that is encrypted asdefined, at least partially, by the schryption key to thereby yield aciphertext.
 3. The method of claim 1, wherein the text message is aciphertext that is decrypted as defined, at least partially, by theschryption key to thereby yield a plaintext.
 4. The method of claim 1,wherein the schryption key includes at least one of: a first controlsegment for specifying a cipher function to be executed during theciphering of the text message; a second control segment for specifying anumber of times the function is to be executed during the ciphering ofthe text message; and a third control segment for specifying a number ofbits of the text message to be processed by the cipher function duringthe ciphering of the text message.
 5. The method of claim 1, furthercomprising: deriving a parameter key from the user key, wherein theparameter key serves as a cipher parameter during the ciphering of thetext message.
 6. The method of claim 1, further comprising: deriving adummy key from the user key, wherein the dummy key is incorporated intothe ciphered text message.
 7. The method of claim 1, wherein derivingthe schryption key from the use key includes: generating a master key asa function of at least the user key and a base key; and extracting theschryption key from the master key.
 8. A method of encrypting a textmessage, the method comprising: receiving a text message and a secretkey; converting the text message into at least one text message block;generating a first master key as a function of the secret key and a basekey; extracting a schryption key and a parameter key from the masterkey; ciphering at least one text message block as specified by theschryption key to yield a cipher message block; determining whether theciphered text message block leaves any text message blocks un-ciphered;generating a new master key based on the determination, the new masterkey generated as a function of the first master, base key and schryptionkey; and encrypting the text message based on at least the first masterkey and new master key.